﻿using Common.Logging;
using Quartz;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using YunSpace.Domain.IRepository.MiniSite;
using YunSpace.Repository.MiniSite;

namespace YunSpace.Services.Jobs.HiSpace
{
    /// <summary>
    /// 嗨空间场地（空间）状态计划任务
    /// </summary>
    public class HiSpaceSiteOrderStatusJob : IJob
    {
        private static readonly ILog logger = LogManager.GetLogger(typeof(HiSpaceSiteOrderStatusJob));

        public void Execute(IJobExecutionContext context)
        {
            try
            {
                ISiteOrderRepository service = new SiteOrderRepository();

                //var minute = context.JobDetail.JobDataMap.GetIntValue("minute");
                //var daysNumber = context.JobDetail.JobDataMap.GetIntValue("daysNumber");

                // 一、更新场地（空间）订单状态（0.未付订金; 1.已付订金; 2.等待确认;）为已超时（-1.未付订金超时;-2.已付订金超时;-3.等待确认超时;）
                var result1 = service.UpdateNotOutOfDateOrderStatus();
                logger.InfoFormat("一、更新场地（空间）订单状态（0.未付订金; 1.已付订金; 2.等待确认;）为已超时（-1.未付订金超时;-2.已付订金超时;-3.等待确认超时;），返回状态为：{0}", result1);


                var result2 = service.UpdateOrderByBeging();
                logger.InfoFormat("二、更新场地（空间）订单状态从待举办（4.待举办;）到已举办（5.已举办;），返回状态为：{0}", result2);


                var result3 = service.UpdateOrderByEnd();
                logger.InfoFormat("三、更新场地（空间）订单状态从已举办（5.已举办;）到结束（8.结束;），返回状态为：{0}", result3);
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("嗨空间场地（空间）状态计划任务：更新定时任务异常！原因：{0}", ex);
            }
        }
    }
}
